import request from '@/config/axios'

// MQTT配置 VO
export interface ConfigVO {
  id: number // 主键ID
  name: string // MQTT配置名称
  username: string // 用户名
  password: string // 密码
  url: string // MQTT服务器地址
  subClientId: string // 订阅客户端ID
  subTopics: string // 订阅主题，多个主题用逗号分隔
  pubClientId: string // 发布客户端ID
  enabled: boolean // 是否启用：0-禁用，1-启用
  description: string // 描述
}

// MQTT配置 API
export const ConfigApi = {
  // 查询MQTT配置分页
  getConfigPage: async (params: any) => {
    return await request.get({ url: `/mqtt/config/page`, params })
  },

  // 查询MQTT配置详情
  getConfig: async (id: number) => {
    return await request.get({ url: `/mqtt/config/get?id=` + id })
  },

  // 新增MQTT配置
  createConfig: async (data: ConfigVO) => {
    return await request.post({ url: `/mqtt/config/create`, data })
  },

  // 修改MQTT配置
  updateConfig: async (data: ConfigVO) => {
    return await request.put({ url: `/mqtt/config/update`, data })
  },

  // 删除MQTT配置
  deleteConfig: async (id: number) => {
    return await request.delete({ url: `/mqtt/config/delete?id=` + id })
  },

  // 导出MQTT配置 Excel
  exportConfig: async (params) => {
    return await request.download({ url: `/mqtt/config/export-excel`, params })
  }
}